Java - JDBC -> ORACLE

 
Vista:

JDBC -> ORACLE

Publicado por Reinhold Main (3 intervenciones) el 14/05/2003 07:12:37
Resulta que estoy haciendo un applet de Java que se conecta por medio de JDBC a una base de datos oracle

Resumiendo mi codigo en la conexion a oracle:

Class.forName("oracle.jdbc.driver.OracleDriver"); // este es un driver que baje de oracle de jdbc para Java 1.4,
// tambien lo tengo declarado en el CLASSPATH.
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ROBOTECH","rick","robotech"); // lo conecto con el SID que es ROBOTECH
// rick es el nombre de usuario, y robotech es el password el listener esta configurado y el tnsname tambien !!!
Asta aqui anda impecable, pero al momento de hacer una consulta SQL en el codigo o al tratar de conectarse se cae y no muestra ningun resultado el applet.

ABRO LA CONSOLA DE JAVA DEL EXPLORADOR y dice ...

java.security.AccessControlException: access denied (java.util.PropertyPermission oracle.jserver.version read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1291)
at java.lang.System.getProperty(System.java:572)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:433)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at appletP.oracle.jbInit(oracle.java:50)
at appletP.oracle.init(oracle.java:28)
at opera.PluginPanel.run(PluginPanel.java:411)
at java.lang.Thread.run(Thread.java:536)

Averiguando con la poca documentacion de esto, pense que el problema era del "java.policy", politicas de seguridad de java. Y asi hay que editar un archivo llamado java.policy, que en algunas partes dice que debe estar en el directorio $HOME/.java.policy (ejem /home/rick/.java.policy) y en otros sitios dice que esta en el $JRE_HOME/lib/security/java.policy (ejem /usr/java/j2re1.4/lib/security/java.policy).

Bueno en la segunda ruta esta ese famoso archivo java.policy, y lo edito y le pongo esto ... (tambien lo copio al directorio $HOME)

grant {
permission java.security.AllPermission;
permission java.net.SocketPermission "*:1024-65535", "connect,accept,resolve"; //siendo que el * es cualquier ip, y luego el rango del puerto
permission java.net.SocketPermission "*:80","connect";
permission java.util.PropertyPermission "oracle.jserver.version", "read"; // y esto que nose para que esta, pero me sale en el error, asi que le puse la opcion read
permission java.lang.RuntimePermission "modifyThreadGroup";
permission java.lang.RuntimePermission "modifyThread";
permission java.io.FilePermission "/html/java/-", "read"; // esto es por que en una pagina salia que pusieras la ruta de tus archivos de java que se abren
};

BUENO DESPUES DE TODO ESTO TODAVIA NO ENTIENDO COMO PODER CONECTARME A ORACLE desde un applet y JDBC, siendo que con el driver de mysql para jdbc y EL MISMO CODIGO me anduvo impecable la lectura de la base de datos.

Mi teoria es que en la base de datos hay que agregarle un permiso de java (ALGUN GRANT), y eso yo no lo se por que no tengo idea de conceptos de DBA, y si uds supieran algun datito que me sirviera para seguir buscando me ayudaria harto.

GRACIAS POR SU GRAN AYUDA !!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:JDBC -> ORACLE

Publicado por juan carlos zorzi (55 intervenciones) el 14/05/2003 09:15:19

Hola, mira el problema es que estas usando un applet y eso es lo que te restringe el applet tiene normas muy estrictas entonces no te va a dejar hacer ciertas cosas como por ej. abrir una fila o crear una coneccion a una BD.

/Gori
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:JDBC -> ORACLE

Publicado por Reinhold Main (3 intervenciones) el 14/05/2003 16:26:26
Com MySQL y el applet puedo hacer de todo !!. insertar crear tablas, etc !

No creo que el applet tenga esa limitancia ... yo creo que es algo con el oracle !!

BUENO NOSE, POR ESO ESTOY PREGUNTANDO SI ALGUIEN LE HA PASADO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

bueno y cual es la solucion??/

Publicado por leo (3 intervenciones) el 01/11/2004 22:48:01
Bueno tengo un problema parecido pero me dice es :

java.security.AccessControlException: access denied java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc
Me puedes colaborar.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:bueno y cual es la solucion??/

Publicado por Yamil Bracho (2315 intervenciones) el 01/11/2004 23:23:04
Eso pasa porque deben firmar el applet. Chequea la pagina http://www.oracle.com/technology/oramag/code/tips2004/031504.html para un ejemplo completo y con Oracle
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Yamil y como??

Publicado por leo (3 intervenciones) el 02/11/2004 00:08:04
y como le coloco scrollbars al ejemplo??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar